package com.authine.cloudpivot.ext.model.order;

import com.authine.cloudpivot.ext.enums.order.GoodsSrcEnum;
import com.authine.cloudpivot.ext.enums.order.OrderGoodsStatusEnum;
import com.authine.cloudpivot.ext.enums.order.OrderVendorStatusEnum;
import com.authine.mvp.app.launcher.domain.SelectorFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * @Author: liwei
 * @DateTime: 2021/9/18
 * @Description: TODO
 */
@Data
@Schema(description = "OrderVendorGoodsVO")
@ApiModel("供应商订单商品VO")
public class OrderVendorGoodsVO {

    @ApiModelProperty(value = "id")
    private String id;
    @ApiModelProperty(value = "创建人")
    private String createdBy;
    @ApiModelProperty(value = "创建人部门")
    private String createdDept;
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;
    @ApiModelProperty(value = "修改人")
    private String modifiedBy;
    @ApiModelProperty(value = "订单商品关系表ID")
    private String relation_id;
    @ApiModelProperty(value = "客户订单ID")
    private String order_customer_id;
    @ApiModelProperty(value = "供应商订单ID")
    private String order_vendor_id;
    @ApiModelProperty(value = "商品ID")
    private String goods_id;
    @ApiModelProperty(value = "商品来源")
    private GoodsSrcEnum goods_src;
    @ApiModelProperty(value = "下单时间")
    private Date place_order_time;
    @ApiModelProperty(value = "接单时间")
    private Date confirm_order_time;
    @ApiModelProperty(value = "分类")
    private String category;
    @ApiModelProperty(value = "品牌")
    private String brand;
    @ApiModelProperty(value = "商品名称")
    private String name;
    @ApiModelProperty(value = "型号")
    private String model;
    @ApiModelProperty(value = "规格")
    private String spec;
    @ApiModelProperty(value = "SKU")
    private String sku;
    @ApiModelProperty(value = "条形码")
    private String bar_code;
    @ApiModelProperty(value = "金税编码")
    private String golden_tax;
    @ApiModelProperty(value = "UNSPSC")
    private String unspsc;
    @ApiModelProperty(value = "图片")
    private String images;
    @ApiModelProperty(value = "技术参数")
    private String technical;
    @ApiModelProperty(value = "保修期")
    private String warranty;
    @ApiModelProperty(value = "包装参数")
    private String packaging;
    @ApiModelProperty(value = "描述")
    private String description;
    @ApiModelProperty(value = "货期")
    private Integer delivery;
    @ApiModelProperty(value = "长")
    private BigDecimal length;
    @ApiModelProperty(value = "宽")
    private BigDecimal width;
    @ApiModelProperty(value = "高")
    private BigDecimal height;
    @ApiModelProperty(value = "重")
    private BigDecimal weight;
    @ApiModelProperty(value = "包装数量")
    private BigDecimal package_quantity;
    @ApiModelProperty(value = "包装单位")
    private String package_unit;
    @ApiModelProperty(value = "数量")
    private BigDecimal quantity;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "税率")
    private BigDecimal tax_rate;
    @ApiModelProperty(value = "税前商品单价")
    private BigDecimal pretax_price;
    @ApiModelProperty(value = "税后商品单价")
    private BigDecimal price;
    @ApiModelProperty(value = "运费税率")
    private BigDecimal freight_rate;
    @ApiModelProperty(value = "运费")
    private BigDecimal freight;
    @ApiModelProperty(value = "税前商品合计")
    private BigDecimal pretax_total;
    @ApiModelProperty(value = "税额")
    private BigDecimal tax;
    @ApiModelProperty(value = "运费税额")
    private BigDecimal tax_freight;
    @ApiModelProperty(value = "税后商品合计")
    private BigDecimal total;
    @ApiModelProperty(value = "未税运费")
    private BigDecimal pretax_freight;
    @ApiModelProperty(value = "税前商品运费共计")
    private BigDecimal pretax_amount;
    @ApiModelProperty(value = "税后商品运费共计")
    private BigDecimal amount;
    @ApiModelProperty(value = "客户账期天数")
    private Integer customer_account_period;
    @ApiModelProperty(value = "供应商账期天数")
    private Integer vendor_account_period;
    @ApiModelProperty(value = "客户下单备注")
    private String memo;
    @ApiModelProperty(value = "外部来源订单商品ID")
    private String client_order_goods_id;
    @ApiModelProperty(value = "外部来源供应商订单商品ID")
    private String client_order_vendor_goods_id;
    @ApiModelProperty(value = "收货单附件")
    private String attachment;
    @ApiModelProperty(value = "实际交付日期（上传收货单时间）")
    private Date actual_deliver_time;
    @ApiModelProperty(value = "下单人用户ID")
    private SelectorFormat place_order_user_id;
    @ApiModelProperty(value = "下单人名称")
    private String place_order_fullname;
    @ApiModelProperty(value = "客户组织id")
    private SelectorFormat customer_organization_id;
    @ApiModelProperty(value = "客户组织名称")
    private String customer_organization_name;
    @ApiModelProperty(value = "供应商组织id")
    private SelectorFormat vendor_organization_id;
    @ApiModelProperty(value = "供应商组织名称")
    private String vendor_organization_name;
    @ApiModelProperty(value = "商品拆分")
    private String split_goods;
    @ApiModelProperty(value = "扩展属性")
    private String extends_attr;
    @ApiModelProperty(value = "cost_center_name")
    private String cost_center_name;
    @ApiModelProperty(value = "已发货数量")
    private BigDecimal quantity_shipped;
    @ApiModelProperty(value = "已收货数量")
    private BigDecimal quantity_received;
    @ApiModelProperty(value = "已退未发数量")
    private BigDecimal quantity_return_not_shipped;
    @ApiModelProperty(value = "已退已发数量")
    private BigDecimal quantity_return_shipped;
    @ApiModelProperty(value = "收货时间")
    private Date delivery_time;
    @ApiModelProperty(value = "接单加货期时间")
    private Date remind_time;
    @ApiModelProperty(value = "老状态")
    private String old_status;
    @ApiModelProperty(value = "仅退货数量")
    private BigDecimal returned_num;
    @ApiModelProperty(value = "退的收货部分的数量")
    private BigDecimal return_received_num;
    @ApiModelProperty(value = "退给平台的收货部分的数量")
    private BigDecimal return_pm_received_num;
    @ApiModelProperty(value = "数量/单位")
    private String quantity_unit;
    @ApiModelProperty(value = "包装数量/单位")
    private String package_quantity_unit;
    @ApiModelProperty(value = "erp_po")
    private String erp_po;
    @ApiModelProperty(value = "供应商订单状态")
    private OrderVendorStatusEnum order_vendor_status;
    @ApiModelProperty(value = "供应商订单商品状态")
    private OrderGoodsStatusEnum order_vendor_goods_status;
    @ApiModelProperty(value = "数据来源")
    private String data_sources;
    @ApiModelProperty(value = "订单类型")
    private String type;
    @ApiModelProperty(value = "商品全称")
    private String full_name;
    @ApiModelProperty(value = "退货状态")
    private String order_goods_returns_status;
    @ApiModelProperty(value = "退款商品数量")
    private BigDecimal refunded_num;
    @ApiModelProperty(value = "可发货数量")
    private BigDecimal deliverable_num;
    @ApiModelProperty(value = "商品状态")
    private String goods_status;
    @ApiModelProperty(value = "标记信息")
    private String remark_message;
    @ApiModelProperty(value = "负责人")
    private SelectorFormat grantUser_member_id;


    public static Map<String, Object> transferMap(OrderVendorGoodsVO orderVendorGoodsVO) {
        return null;
    }
}
